/*
 * @Author: Seon.Hu SeonHu@126.com
 * @Date: 2022-02-13 16:35:34
 * @LastEditors: Seon.Hu SeonHu@126.com
 * @LastEditTime: 2023-07-10 14:57:40
 * @FilePath: \app-pda\apis\mobile\index.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import request from '@/utils/http/uni-ajax';

/** 移动端URL枚举 */
const Api = {
  /** 读取移动端应用 */
  ReadApp: '/api/mobile/readApp',
  /** 获取移动端应用 */
  GetApp: '/api/mobile/getApp',
  /** 获取所有移动端应用 */
  GetApps: '/api/mobile/getApps',

  /** 获取应用程序 */
  GetPackages: '/api/mobile/getPackages',

  /** 升级检测 */
  CheckUpgrade: '/api/mobile/checkUpgrade',

  /** 应用程序下载 */
  Download: '/api/mobile/download'
}

/**
 * 读取移动端应用
 * @param request 分页请求
 * @param mode 错误消息模型
 */
export function readApp(request, mode = 'message') {
  return request.post({
    url: Api.ReadApp,
    data: request,
    requestOptions: {
      errorMessageMode: mode
    }
  });
}
/**
 * 获取移动端应用
 * @param id 移动端应用编号
 * @param mode 错误消息模型
 */
export function getApp(id, mode = 'none') {
  return request.get({
    url: Api.GetApp,
    query: {
      id: id
    },
    requestOptions: {
      errorMessageMode: mode
    }
  });
}

/**
 * 获取所有移动端应用
 * @param mode 错误消息模型
 */
export function getApps(mode = 'none') {
  return request.get({
    url: Api.GetApps,
    requestOptions: {
      errorMessageMode: mode
    }
  });
}

/**
 * 获取应用程序
 * @param mode 错误消息模型
 */
export function getPackages(mode = 'none') {
  return request.get({
    url: Api.GetPackages,
    requestOptions: {
      errorMessageMode: mode
    }
  });
}

/**
 * 升级检测
 * @param dto DTO
 * @param mode 错误消息模型
 */
export function checkUpgrade(dto, mode = 'none') {
  return request.post({
    url: Api.CheckUpgrade,
    data: dto,
    requestOptions: {
      errorMessageMode: mode
    }
  });
}

/**
 * 验证短信验证码
 * @param packageId 应用程序包编号
 * @param mode 错误消息模型
 */
export function download(packageId, mode = 'message') {
  return request.get({
    url: Api.Download,
    query: {
      packageId: packageId
    },
    requestOptions: {
      errorMessageMode: mode
    }
  });
}
